home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / internet / irc_i_dodatki / narratorinstall / amirc / narrator / narratorgui.rexx < prev   
OS/2 REXX Batch file  |  1997-05-06  |  7KB  |  2 lines

  1. /* $VER: NarratorGUI.rexx 1.2 (06.05.97) Neil Ross <aspect@direct.ca> */
  2. OPTIONS RESULTS;SIGNAL ON ERROR;version=SUBWORD(SOURCELINE(1),4,1);maintitle='Narrator' version;fn='Narrator/NarratorConfig';CALL init();CALL load();CALL SETCLIP('NR_STAT','1');CALL SETCLIP('NR_INIT','1');ADDRESS NARRATOR;WINDOW ID MWIN ATTRS 0x80428d2f 1 0x804278e4 '"'screen'"' TITLE '"'maintitle'"' COMMAND '"call endprog()"' PORT NARMES;MENU LABEL '"Project"';ITEM COMMAND '"method '0x8042d21d' 0"' PORT NARRATOR ATTRS 0x80422030 '?' LABEL '"About MUI..."';ITEM COMMAND '"method '0x804299ba'"' PORT NARRATOR LABEL '"MUI Settings..."';ITEM COMMAND '"call save()"' PORT NARMES ATTRS 0x80422030 'S' LABEL '"Save Settings..."';ITEM COMMAND '"call endprog()"' PORT NARMES ATTRS 0x80422030 'Q' LABEL '"Quit"';ENDMENU;GROUP REGISTER LABELS '"Applications,Voice Options,Smileys"' ATTRS 0x80424199 1;GROUP LABEL 'Applications';GROUP FRAME;LIST ID ALST COMMAND '"call register()"' PORT NARMES TITLE '\033b\033uApplication,\033b\033uStatus' 0x80423c0a '"MIW=75 BAR,MIW=25"' HELP '"This is a list of applications the\nNarrator is or is not monitoring."';GROUP HORIZ;BUTTON ID PREC COMMAND '"call register()"' PORT NARMES HELP '"Monitor an application."' LABEL 'Enable';BUTTON ID PRED COMMAND '"call register()"' PORT NARMES HELP '"Ignore an application."' LABEL 'Disable';ENDGROUP;ENDGROUP;ENDGROUP;GROUP HORIZ;GROUP FRAME LABEL 'Parsing';SPACE;SPACE;SPACE;LABEL CENTER 'Private Messages';CHECK ID PRVM vert('PRVMS') COMMAND '"call setclp('prvms',%s)"' PORT NARMES HELP '"Use this to have only private\nmessages /msg spoken."';SPACE;SPACE;LABEL CENTER 'Smileys & Acronyms';CHECK ID SMIL vert('SMILE') COMMAND '"call setclp('smile',%s)"' PORT NARMES HELP '"Disables or Enable smiley\nand acronym interpretation.\n(020 minimum recommended)"';SPACE;SPACE;LABEL CENTER 'Speak Everything';CHECK ID YFLO vert('YFLOO') COMMAND '"call setclp('yfloo',%s)"' PORT NARMES HELP '"Speak ALL messages.  Use with caution."';SPACE;SPACE;ENDGROUP;GROUP FRAME LABEL '"Voice Control"';SPACE;SPACE;LABEL 'Random Voice';CHECK ID RVOI vert('RVOIC') COMMAND '"call setclp('rvoic',%s)"' PORT NARMES HELP '"Randomize the pitch and inflection of the voice.\nThis will also speed up long lines."';SPACE;GROUP;LABEL CENTER 'Pitch & Speed:';POPSLIDER ID PSLD ATTRS 0x804263e9 '" Pitch "' 0x8042e404 65 0x8042d78a 320 0x8042ae3a getclip('NR_PITCH') COMMAND '"call setclip('NR_pitch',%s)"' PORT NARMES HELP '"Sets the pitch of the voice."';POPSLIDER ID SSLD ATTRS 0x804263e9 '" Speed "' 0x8042e404 30 0x8042d78a 400 0x8042ae3a getclip('NR_SPEED') COMMAND '"call setclip('NR_speed',%s)"' PORT NARMES HELP '"Sets the speaking speed."';ENDGROUP;SPACE;LABEL CENTER 'Inflection:';CYCLE ID ICYC cvert('INFLE') COMMAND '"call setclp('infle',%s)"' PORT NARMES HELP '"Sets the inflection of the voice."' LABELS 'Female,Male,Natural,Robot';SPACE;ENDGROUP;ENDGROUP;GROUP LABEL 'Smileys';GROUP FRAME;LIST ID BLST COMMAND '"call register()"' PORT NARMES TITLE '\033b\033uSmiley,\033b\033uPhrase' 0x80423c0a '"MIW=20 BAR,MIW=80"' HELP '"Smileys and Acronyms currently in use."';GROUP HORIZ;STRING ID STEA COMMAND '"call register()"' PORT NARMES HELP '"Enter Smiley here."';BUTTON ID PREA COMMAND '"call register()"' PORT NARMES HELP '"Add Smileys and Acronyms."' LABEL 'Add';BUTTON ID PREB COMMAND '"call register()"' PORT NARMES HELP '"Remove a Smiley or Acronym."' LABEL 'Delete';ENDGROUP;STRING ID STEB COMMAND '"call register()"' PORT NARMES HELP '"Enter Phrase here."';ENDGROUP;ENDGROUP;ENDGROUP;GROUP HORIZ FRAME;BUTTON ID BLAB COMMAND '"call setclip('NR_INIT','1')"' PORT NARMES HELP '"Tell the Narrator\nto\033b start talking!"' LABEL 'Speak!';BUTTON ID SHUT COMMAND '"call setclip('NR_INIT','0')"' PORT NARMES HELP '"Tell the Narrator to shutup!"' LABEL 'ShutUp!';BUTTON ID SAVE COMMAND '"call save()"' PORT NARMES HELP '"Save Settings"' LABEL 'Save';BUTTON ID QUIT COMMAND '"call endprog()"' PORT NARMES HELP '"Close the GUI"' LABEL 'Quit';ENDGROUP;ENDWINDOW;IF GETCLIP(NR_RVOIC)=1 THEN DO;x=1;CALL parry();END;cl=SHOW('C');DO i=1 TO WORDS(cl);PARSE VAR cl cc.i cl;cn=GETCLIP(cc.i);ci=SUBSTR(cc.i,5);SELECT;WHEN SUBSTR(cc.i,1,4)='NR_ß' THEN LIST ID ALST INSERT POS 0 STRING ''||ci||','||cn||'';WHEN SUBSTR(cc.i,1,4)='NR_§' THEN LIST ID BLST INSERT POS 0 STRING ''||ci||','||cn||'';OTHERWISE NOP;END;END;ADDRESS VALUE(amirc);"GETMYNICK";mynick=result;ADDRESS REXX;nrport='NARMES';CALL OPENPORT(nrport);DO FOREVER;DO UNTIL WAITPKT(nrport);CALL DELAY(20);END;pack=GETPKT(nrport);IF pack~=NULL() THEN DO;cmd=GETARG(pack);CALL REPLY(pack,0);INTERPRET cmd;END;END;EXIT 0;setclp:;x=UPPER(arg(2));SELECT;WHEN x='FEMALE' THEN x=0;WHEN x='MALE' THEN x=1;WHEN x='NATURAL' THEN x=2;WHEN x='ROBOT' THEN x=3;OTHERWISE NOP;END;CALL SETCLIP('NR_'arg(1),x);IF arg(1)='RVOIC' THEN CALL parry();RETURN 0;parry:;ADDRESS NARRATOR;POPSLIDER ID PSLD ATTRS 0x80423661 x;POPSLIDER ID SSLD ATTRS 0x80423661 x;CYCLE ID ICYC ATTRS 0x80423661 x;RETURN;vert:;y=GETCLIP('NR_'arg(1));IF y='1' THEN RETURN 'ATTRS' 0x8042654b 1;RETURN 'ATTRS' 0x8042654b 0;cvert:;x=GETCLIP('NR_'arg(1));SELECT;WHEN x='FEMALE' THEN x=0;WHEN x='MALE' THEN x=1;WHEN x='NATURAL' THEN x=2;WHEN x='ROBOT' THEN x=3;OTHERWISE NOP;END;RETURN 'ATTRS' 0x80421788 x;load:;c=SHOW('C');DO i=1 TO WORDS(c);w=WORD(c,i);IF SUBSTR(w,1,3)='NR_' THEN CALL SETCLIP(w);END;IF OPEN(1,fn,'R') THEN DO;DO UNTIL EOF(1);line=READLN(1);PARSE VAR line c a;IF a~='' THEN DO;CALL SETCLIP('NR_'||STRIP(c),STRIP(a));END;END;CALL CLOSE(1);END;ELSE DO;ADDRESS NARRATOR;REQUEST TITLE '"Missing Prefs"' GADGETS '"   I''ll save one now!   "' '"Preferences file could not be found..."';END;RETURN;save:;IF~OPEN(f,fn,'W') THEN DO;CALL endprog();END;l=SHOW('c');DO i=1 TO WORDS(l);x=STRIP(WORD(l,i));IF SUBSTR(x,1,3)='NR_' THEN DO;CALL WRITELN(f,SUBSTR(x,4) GETCLIP(x));END;END;CALL CLOSE(f);CALL SETCLIP('NR_STAT','1');RETURN;getamirc:PROCEDURE EXPOSE screen cport;l=SHOW('P');p=POS('AMIRC.',l);IF p=0 THEN CALL endprog("Narrator requires AmIRC running!");cport=SUBSTR(l,p,7);x=ADDRESS();ADDRESS VALUE(cport);"SHOW";"INFO screen";screen='"'result'"';ADDRESS VALUE(x);RETURN cport;init:;IF SHOW('P','NARMES') THEN endprog("Already active!");IF~SHOW('L','rexxsupport.library') THEN IF~ADDLIB('rexxsupport.library',0,-30,0) THEN CALL endprog("Can''t load rexxsupport.library!");amirc=getamirc();RETURN 0;register:;ADDRESS NARRATOR;REQUEST TITLE '"Missing Keyfile"' GADGETS 'OK' '"\033bKeyfile not found.  \033nPlease register..."';RETURN;error:;endprog("Command on line" SIGL "in Narrator.amirx\nreturned" RC ":"errortext(rc)"\n"strip(sourceline(SIGL))"\n"cmd);endprog:;CALL SETCLIP('NR_INIT','3');IF SHOW('P','NARMES') THEN CALL CLOSEPORT('NARMES');IF SHOW('P',amirc) THEN DO;ADDRESS VALUE(amirc);"Say /msg "||mynick||" Narrator is kewl!";END;ADDRESS NARRATOR;x=arg(1);IF x~='' THEN REQUEST TITLE '"Major Error!"' GADGETS 'OK' x;QUIT;EXIT